Foot roll rigging

ABSTRACT

A system and method enables animators to efficiently pose character models&#39; feet. An initial foot model position is received. The initial foot model position specifies a foot model contact point. One or more foot roll parameters are specified that change the relative angle between at least a portion of the foot model and an initial orientation of an alignment plane. Foot roll parameters specify the rotation of the foot model around foot model contact points. Foot roll parameters can include heel roll, ball roll, and toe roll, which specify the rotation of the foot model around contact points on the heel, ball, and toe, respectively, of a foot model. To maintain the position of the foot model contact point, the foot model position is adjusted based on the foot roll parameter. The repositioned foot model is realigned with alignment plane, which restores contact at the foot model contact point.

CROSS-REFERENCES TO RELATED APPLICATIONS

This application claims priority to U.S. Provisional Patent ApplicationNo. 60/572,008 (21751-007700), filed May 17, 2004, which is incorporatedby reference herein for all purposes.

BACKGROUND OF THE INVENTION

The present invention relates to the field of computer graphics, and inparticular to methods and apparatus for animating computer generatedcharacters. Many computer graphic images are created by mathematicallymodeling the interaction of light with a three dimensional scene from agiven viewpoint. This process, called rendering, generates atwo-dimensional image of the scene from the given viewpoint, and isanalogous to taking a photograph of a real-world scene. Animatedsequences can be created by rendering a sequence of images of a scene asthe scene is gradually changed over time. A great deal of effort hasbeen devoted to making realistic looking rendered images and animations.

Animation, whether hand-drawn or computer generated, is as much an artas it is a science. Animators must not only make a scene look realistic,but must also convey the appropriate dramatic progression and emotionalimpact required by the story. This is especially true when animatingcharacters. Characters drive the dramatic progression of the story andestablish an emotional connection with the audience.

Effective walk animations are often an important contribution to theexpressiveness of a character's animation. A character's walk or gaitcan be used to express the character's emotions. Additionally, walking,running, or other types of character motion can add excitement to ascene, as compared with scenes having motionless characters. At the veryleast, effective and realistic walk animations reinforce an audience'ssuspension of disbelief. However, creating convincing walk animationswith the appropriate emotional expression and level of energy isparticularly challenging and time consuming.

One of the difficulties in creating walk animations arises from thekinematic complexity of walking itself. During a typical walk animationfor a bipedal character model, the foot first touches the ground at theheel. As the character's weight shifts forward, the foot rotates aroundthe heel contact point until it is flat against the ground surface.Then, as the character's weight shifts further forward, the foot beginsto lift off the ground, typically by bending and rotating around theball of the foot. Finally, the foot lifts off the ground entirely andthe character's weight is transferred to the other foot.

Many animation tools make it difficult to mimic these kinematicattributes of walking. Typically, animation tools enable animators onlyto rotate the foot around specifically defined locations, such as theankle or ball of the foot. As animators apply rotations to theselocations, the foot of a character model often slides forward orbackwards relative to the ground plane. Additionally, these rotationscan also cause the foot to lift off the ground plane prematurely, or topenetrate below the ground plane.

As a result of these effects, the correct positioning of the foot of acharacter model during a walk animation is often an iterative process.First, the animator places the foot at the desired location relative tothe ground plane. The animator then specifies the desired foot rotationaround the heel and/or ball. This causes the contact point of the footto shift position relative to the ground; thus the animator must thenreposition the foot back to the desired location. As adjustments aremade to the foot rotation, the animator must make further adjustments tothe position of the foot. Because of the complexity and time requiredfor these iterative adjustments, animators tend to construct scenes inwhich character models' feet are hidden, so as to avoid this issueentirely.

It is therefore desirable for a system and method to enable animators toefficiently specify the positions and rotations of the feet of charactermodels. It is further desirable that the system and method automaticallyadjust the position of the foot of a character model in response to arotation to eliminate unwanted shifts in position of the foot contactpoint. It is also desirable that the system and method be suitable forrotations of the foot of a character model around the heel contactpoint, the ball contact, and any other foot contact point.

BRIEF SUMMARY OF THE INVENTION

An embodiment of the invention includes a system and method that enablesanimators to efficiently specify the positions and rotations of the feetof character models. In an embodiment, an animator specifies an initialfoot model position. The initial foot model position specifies a footmodel contact point. Animators specify one or more foot roll parametersthat change the relative angle between at least a portion of the footmodel and an initial orientation of an alignment plane. Foot rollparameters specify the rotation of the foot model around foot modelcontact points. Foot roll parameters can include heel roll, ball roll,and toe roll, which specify the rotation of the foot model aroundcontact points on the heel, ball, and toe, respectively, of a footmodel. To maintain the position of the foot model contact point, thefoot model position is adjusted based on the foot roll parameter. Therepositioned foot model is realigned with alignment plane, whichrestores contact at the foot model contact point.

In an embodiment, a method of posing a foot model includes receiving afirst orientation of an alignment plane; receiving a foot positionspecifying the position of the foot model; and receiving a foot rollparameter for the foot model. The foot roll parameter specifies an anglebetween an alignment plane and a reference frame associated with thefoot model. The method further includes changing the relative anglebetween at least a portion of the foot model and the alignment planebased on the foot roll parameter; specifying a new foot position for thefoot model based on the foot roll parameter; and realigning the footmodel with the alignment plane.

In a further embodiment, changing the relative angle between at least aportion of the foot model and the alignment plane includes applying atransformation to the alignment plane. The transformation includes arotation proportional to the foot roll parameter, which rotates thealignment plane to a second orientation. Specifying a new foot positionincludes applying the transformation to the foot position. In anadditional embodiment, realigning the foot model with the alignmentplane includes rotating the foot model such that the reference frameassociated with the foot model is aligned with the second orientation ofthe alignment plane.

In another embodiment, changing the relative angle between at least aportion of the foot model and the alignment plane includes applying atransformation to the reference frame associated with the foot model.The transformation includes a rotation proportional to the foot rollparameter, which rotates the reference frame associated with the footmodel around a first joint. Specifying a new foot position includesapplying an inverse of the transformation to the foot position. In anadditional embodiment, changing the relative angle between at least aportion of the foot model and the alignment plane also includes applyinga transformation to a predetermined portion of the foot model, therebyrotating the predetermined portion of the foot model around the firstjoint. In still another embodiment, realigning the foot model with thealignment plane includes rotating the foot model such that the referenceframe associated with the foot model is aligned with the firstorientation of the alignment plane.

BRIEF DESCRIPTION OF THE DRAWINGS

The invention will be described with reference to the drawings, inwhich: FIGS. 1A-1B illustrate two different phases of a walk animationsuitable for an application of an embodiment of the invention;

FIG. 2 illustrates a method of repositioning the foot of a charactermodel to compensate for heel roll according to an embodiment of theinvention;

FIGS. 3A-3E illustrate an example application of the method of FIG. 2according to an embodiment of the invention;

FIG. 4 illustrates a method of repositioning the foot of a charactermodel to compensate for ball roll according to an embodiment of theinvention;

FIGS. 5A-5E illustrate an example application of the method of FIG. 4according to an embodiment of the invention; and

FIG. 6 illustrates an example computer system suitable for implementingan embodiment of the invention.

In the drawings, the use of like reference numbers indicates similarelements.

DETAILED DESCRIPTION OF THE INVENTION

FIGS. 1A-1B illustrate two different phases of a walk animation suitablefor an application of an embodiment of the invention. FIG. 1Aillustrates a first phase 100 of a typical walk animation. In phase 100,the foot 105 of a character model contacts the ground plane 110 at heelcontact point 115. As the character model moves forward, the foot 105rotates around the heel contact point 115 until it is flat against theground surface. The rotation 120 of the foot 105 around heel contactpoint 115 is referred to as heel roll.

FIG. 1B illustrates a second phase 150 of a typical walk animation. Inphase 150, the foot 155 of a character model is lifted from the groundplane 160. In phase 150, the foot 155 rotates around ball contact point165. Additionally, the toe portion 175 of the foot 155 bends so as toremain in contact with the ground plane 160. The rotation 170 of foot155 around ball contact point 165 is referred to as ball roll.

Phases 100 and 150 are provided for the purposes of illustration, andembodiments of the invention can be applied to any type of animation inwhich a foot or other portion of a character model is positioned withrespect to and/or rotated around a contact point. Additionally, the heelroll and ball roll rotations can be employed in any phase of a walkanimation. For example, a tip-toeing walk animation may use ball rollrotation as the foot of character model makes initial contact with asurface.

Additionally, computer-generated animation of characters is typicallyaccomplished by manipulating a three-dimensional model of a characterinto a series of bodily positions, or poses, over a sequence of frames.A realistic looking character model is often extremely complex, havingmillions of surfaces and hundreds or thousands of attributes. Due to thecomplexity involved with animating such complex models, animation toolsoften rely on armatures and animation variables to define characteranimation.

An armature is a “stick figure” representing the character's pose, orbodily position. By moving the armature segments, which are the “sticks”of the “stick figure,” the armature can be manipulated into a desiredpose. As the armature is posed by the animator, the animation toolsmodify character model so that the bodily attitude of the characterroughly mirrors that of the armature.

Animation variables are another way of defining the character animationof a complex character model. Animation variables are parameters forfunctions that modify the appearance of a character model. In theirsimplest form, animation variables may manipulate armature segments,thereby altering the appearance of the character model indirectly, ormanipulate the character model directly, bypassing the armature.

Animation variables can be used to abstract complicated modifications toa character model to a relatively simple control. For example, a singleanimation variable can define the degree of opening of a character'smouth. In this example, the value of the animation variable maymanipulate several different parts of the armature and/or modifyportions of the character model directly to create a modified charactermodel having a mouth opened to the desired degree. For each animationvariable, there are often one or more functions that specify how thevalue of the animation variable affects the character model. The set offunctions defining the relationship between animation variables and acharacter model is sometimes referred to as the rigging of the charactermodel.

The values of various foot roll parameters, such as heel roll and ballroll, can be specified as animation variables. In an embodiment of theinvention, the rigging of the character model includes functions thatautomatically reposition the feet of the character model in response tothe values of foot roll parameters, so as to keep the foot contactpoints in a fixed position with respect to a ground plane.

FIG. 2 illustrates a method 200 of repositioning the foot of a charactermodel to compensate for heel roll according to an embodiment of theinvention. At optional step 205, an alignment plane is specified for oneor more feet of the character model. In an embodiment, an animator usesan animation software tool to manually specify the orientation of thealignment plane. A horizontal alignment plane can be used to representlevel ground. In an embodiment, this can be set as the defaultorientation of the alignment plane absent an animator specifying adifferent orientation. Sloping ground, such as hills, can be representedby changing the orientation of the alignment plane to a non-horizontalorientation. In an embodiment, the animation software tool assumes thatthe foot of the character model has been placed in contact with theground based on the foot position specified by the animator; thus thealignment plane is automatically positioned so as to pass through aspecific point of the foot model. This point, referred to as a heelcontact point, can be defined as part of the foot model prior to thefoot model's use in the animation software tool. In additionalembodiments, the location of the heel contact point can be adjusted tomeet the artistic demands of a particular scene. In another embodiment,the alignment plane can be automatically determined from the positionand orientation of surfaces in the scene that are in close proximity tothe foot of the character model. In this latter embodiment, step 205 maybe performed after step 210, which is described below.

The position of the foot of a character model is specified in step 210.In an embodiment, an animator enters the value of one or more animationvariables into an animation software tool to specify the position of thefoot of the character model. In a further embodiment, the animatorspecifies the position of the foot of the character model by specifyingthe position and orientation of the parts of the associated leg of thecharacter model, such as the thigh and calf portions of the charactermodel's leg. In an alternate embodiment, the animator can specify thelocation of the foot of the character model directly, for example byspecifying the position of a specific point of the foot model, forexample the ankle joint, and orientation of the foot model around thisjoint. The animation system then determines the appropriate position andorientation of the associated leg of the character model usingtechniques such as inverse kinematics.

In an example application of step 210, FIG. 3A illustrates the positionof a foot model 305. In an embodiment, the position of the foot model isspecified by the position of ankle joint 307. In addition to the anklejoint, two additional coordinate spaces are associated with the footmodel 305: toe space coordinate system 309 and align space coordinatesystem 311. In FIG. 3A, the toe space 309 and align space 311 arealigned to the same position and orientation. The align space 311represents the position and orientation of alignment plane 313,specified for example in step 205. It should be noted that the heel ofthe foot model 305 contacts the alignment plane 313 at heel contactpoint 314. The toe space 309 represents the position of the toe of thefoot model relative to the ankle joint 307.

Returning the method 200, the amount of heel roll is specified in step215. In an embodiment, an animator specifies the heel roll as ananimation variable associated with a foot of the character model usingan animation tool. In response to the heel roll specified in step 215,step 220 rotates the align space defining the orientation of thealignment plane by the amount of heel roll specified in step 215. In anembodiment, this rotation is expressed as a transformation matrix thatrotates the align space around a heel contact point.

FIG. 3B illustrates an example application of steps 215 and 220. A heelroll amount 315 is specified for the foot model 305. The align space 311is rotated about the heel contact point 314 by the heel roll amount 315.This in turn rotates the orientation of the alignment plane 313 to theposition shown. For the purposes of illustration, the plane 313′ showsthe original unrotated position of the alignment plane along withcontact point 314.

Method 200 continues with step 225, in which the foot position ischanged to compensate for the heel roll. In an embodiment, the footposition, as specified for example by the position of the ankle joint,is moved to a new position by applying the same transformation that wasapplied to move the align space. For example, this can be accomplishedby applying the same transformation matrix to the position of the footthat was previously used to rotate the align space by the heel rollamount. In an embodiment, this transformation moves the foot position byrotating the ankle joint, or other reference point of the foot model,around the heel contact point.

FIG. 3C illustrates an example application of step 225. In this example,the ankle joint 307 of foot model 305 is moved to a new position basedupon the heel roll transformation 315. For the purposes of illustration,the ankle joint 307′ shows the original position of the ankle jointprior to the application of the transformation.

Step 230 poses the leg and foot model according to the new position andorientations specified by method 200. In an embodiment, the foot modelis rotated to align with the rotated alignment plane specified in step220. Additionally, the position of the foot model is changed to thatspecified in step 225. For example, the foot model can be moved so thatits ankle joint aligns with the ankle joint position specified in step225. In further embodiments, additional unrelated animation variablesspecifying other aspects of the foot model can be applied at this pointas well. Additionally, an embodiment can determine the pose of the legassociated with the foot model using other animation variables and/orother techniques such as inverse kinematics.

FIGS. 3D and 3E illustrate an example application of step 225. In FIG.3D, the foot model 305 is shifted from its original position to theposition specified by the newly moved ankle joint 307. For the purposesof illustration, an outline 305′ shows the original position of the footmodel 305 as specified by the ankle joint 307′. As can be seen in FIG.3D, the repositioning of the foot model 305 causes the heel contactpoint 314 to break contact with the alignment plane 313; however,contact will be restored when the foot model is rotated to align withthe rotated align space 311.

FIG. 3E illustrates the rotation of the foot model 305 to theorientation specified by the heel roll. In this example, this isaccomplished by rotating the foot model 305 around the heel contactpoint 314 to align the toe space 309 with the rotated align space 311.As can be seen in FIG. 3E, this rotation also has the effect of placingthe heel contact point 314 of the foot model back in contact withalignment plane 313.

Similar to method 200, FIG. 4 illustrates a method 400 of repositioningthe foot of a character model to compensate for ball roll according toan embodiment of the invention. At optional step 405, an alignment planeis specified for one or more feet of the character model. In anembodiment, an animator uses an animation software tool to manuallyspecify the orientation of the alignment plane to represent level orsloping ground. In an embodiment, the animation software tool assumesthat the foot of the character model has been placed in contact with theground based on the foot position specified by the animator; thus thealignment plane is automatically positioned so as to pass through aspecific point of the foot model. This point, referred to as a ballcontact point, can be defined as part of the foot model prior to thefoot model's use in the animation software tool. In additionalembodiments, the location of the ball contact point can be adjusted tomeet the artistic demands of a particular scene. In another embodiment,the alignment plane can be automatically determined from the positionand orientation of surfaces in the scene that are in close proximity tothe foot of the character model. In this latter embodiment, step 405 maybe performed after step 410, which is described below.

The position of the foot of a character model is specified in step 410.In an embodiment, an animator enters the value of one or more animationvariables into an animation software tool to specify the position of thefoot of the character model. In a further embodiment, the animatorspecifies the position of the foot of the character model by specifyingthe position and orientation of the parts of the associated leg of thecharacter model, such as the thigh and calf portions of the charactermodel's leg. In an alternate embodiment, the animator can specify thelocation of the foot of the character model directly, for example byspecifying the position of a specific point of the foot model, forexample the ankle joint, and orientation of the foot model around thisjoint. The animation system then determines the appropriate position andorientation of the associated leg of the character model usingtechniques such as inverse kinematics.

In an example application of step 410, FIG. 5A illustrates the positionof a foot model 505. In an embodiment, the position of the foot model isspecified by the position of ankle joint 507. In addition to the anklejoint, two additional coordinate spaces are associated with the footmodel 505: toe space coordinate system 509 and align space coordinatesystem 511. In FIG. 5A, the toe space 509 and align space 511 arealigned to the same position and orientation. The align space 511represents the position and orientation of alignment plane 513,specified for example in step 505. It should be noted that the ball ofthe foot model 505 contacts the alignment plane 513 at ball contactpoint 520. The toe space 509 represents the position of the toe of thefoot model relative to the ankle joint 507.

Returning the method 400, the amount of ball roll is specified in step415. In an embodiment, an animator specifies the ball roll as ananimation variable associated with a foot of the character model usingan animation tool. In response to the ball roll specified in step 415,step 420 modifies the foot model to reflect the specified amount of ballroll. In an embodiment, step 420 rotates the toe space of the foot modelaround a ball contact point by the amount of ball roll specified in step415. In an embodiment, this rotation is expressed as a transformationmatrix. In an additional embodiment, the toe portion of the foot modelis deformed to reflect the bending of the foot model around the football joint. This deformation can be accomplished by rotating one or morecontrol points defining the shape of the toe portion of the foot modelby all or a portion of the amount of ball rotation specified in step415. Alternatively, this deformation can be accomplished by any othertechnique known in the art for modifying character models in response toanimation variables specifying joint rotations, control points, or otherattributes of a model.

FIG. 5B illustrates an example application of steps 415 and 420. A ballroll amount 515 is specified for the foot model 505. The toe space 509is rotated about the ball contact point 520 by the ball roll amount 515.Additionally, the toe portion 530 of the foot model 505 is deformed toreflect the bending of the foot model around the ball joint 525.

Method 400 continues with step 425, in which the foot position ischanged to compensate for the ball roll. In an embodiment, the footposition, as specified for example by the position of the ankle joint,is moved to a new position by applying the inverse of the transformationthat was applied to move the toe space. For example, this can beaccomplished by inverting the transformation matrix applied to the toespace and then applying the inverted transformation to the position ofthe foot.

FIG. 5C illustrates an example application of step 425. In this example,the ankle joint 507 of foot model 505 is moved to a new position basedupon the inverse 535 of the ball roll transformation 515. For thepurposes of illustration, the ankle joint 507′ shows the originalposition of the ankle joint prior to the application of the inversetransformation 535.

Step 430 poses the leg and foot model according to the new position andorientations specified by method 400. In an embodiment, the foot modelis rotated to align with the alignment plane specified in step 405.Additionally, the position of the foot model is changed to thatspecified in step 425. For example, the foot model can be moved so thatits ankle joint aligns with the ankle joint position specified in step425. In further embodiments, additional unrelated animation variablesspecifying other aspects of the foot model can be applied at this pointas well. Additionally, an embodiment can determine the pose of the legassociated with the foot model using other animation variables and/orother techniques such as inverse kinematics.

FIGS. 5D and 5E illustrate an example application of step 425. In FIG.5D, the foot model 505 is shifted from its original position to theposition specified by the newly moved ankle joint 507. For the purposesof illustration, an outline 505′ shows the original position of the footmodel 505 as specified by the ankle joint 507′. As can be seen in FIG.5D, the repositioning of the foot model 505 causes the ball of the footmodel to break contact with contact point 520; however, contact will berestored when the foot model is rotated to align with the alignmentplane 513.

FIG. 5E illustrates the rotation of the foot model 505 to theorientation specified by the ball roll. In this example, this isaccomplished by rotating the foot model 505 around the ball contactpoint 520 to align the toe space 509 with the align space 511. As can beseen in FIG. 5E, this rotation also has the effect of placing the ballcontact point 520 in contact with the alignment plane 513.

Although the foot roll rotation has been discussed with reference toexamples of heel roll and ball roll, additional embodiments of theinvention can implement additional foot rotations. For example, a toeroll rotation, defined as the rotation of the foot around a toe contactpoint at the toe of a foot model, can be implemented using a similarmethod to that described for heel roll, with the main difference beingrotating the alignment plane in the opposite direction. Additionally,although the above discussion has assumed that an animator specifies thefoot position and foot roll, in further embodiments, these parameterscan be specified automatically by a software application, for exampleusing a simulation or referencing a predetermined animation cycle.

FIG. 6 illustrates an example computer system suitable for implementingan embodiment of the invention. FIG. 6 illustrates an example computersystem 1000 capable of implementing an embodiment of the invention.Computer system 1000 typically includes a monitor 1100, computer 1200, akeyboard 1300, a user input device 1400, and a network interface 1500.User input device 1400 includes a computer mouse, a trackball, a trackpad, graphics tablet, touch screen, and/or other wired or wireless inputdevices that allow a user to create or select graphics, objects, icons,and/or text appearing on the monitor 1100. Embodiments of networkinterface 1500 typically provides wired or wireless communication withan electronic communications network, such as a local area network, awide area network, for example the Internet, and/or virtual networks,for example a virtual private network (VPN).

Computer 1200 typically includes components such as one or more generalpurpose processors 1600, and memory storage devices, such as a randomaccess memory (RAM) 1700, disk drives 1800, and system bus 1900interconnecting the above components. RAM 1700 and disk drive 1800 areexamples of tangible media for storage of data, audio/video files,computer programs, applet interpreters or compilers, virtual machines,embodiments of the herein described invention including geometric scenedata, object data files, shader descriptors, a rendering engine, outputimage files, texture maps, and displacement maps. Further embodiments ofcomputer 1200 can include specialized audio and video subsystems forprocessing and outputting audio and graphics data. Other types oftangible media include floppy disks; removable hard disks; opticalstorage media such as DVD-ROM, CD-ROM, and bar codes; non-volatilememory devices such as flash memories; read-only-memories (ROMS);battery-backed volatile memories; and networked storage devices.

It should be noted that once the posed or deformed model has beencreated using one or more of the above discussed embodiments, anyrendering technique, for example ray-tracing or scanline rendering, cancreate a final image or frame from the model in combination withlighting, shading, texture mapping, and any other image processinginformation.

Further embodiments can be envisioned to one of ordinary skill in theart after reading the attached documents. In other embodiments,combinations or sub-combinations of the above disclosed invention can beadvantageously made. The block diagrams of the architecture and flowcharts are grouped for ease of understanding. However it should beunderstood that combinations of blocks, additions of new blocks,re-arrangement of blocks, and the like are contemplated in alternativeembodiments of the present invention.

The specification and drawings are, accordingly, to be regarded in anillustrative rather than a restrictive sense. It will, however, beevident that various modifications and changes may be made thereuntowithout departing from the broader spirit and scope of the invention asset forth in the claims.

1. A method of posing a foot model, the method comprising: receiving afirst orientation of an alignment plane; receiving a foot positionspecifying the position of the foot model; receiving a foot rollparameter for the foot model, the foot roll parameter specifying anangle between an alignment plane and a reference frame associated withthe foot model; changing the relative angle between at least a portionof the foot model and the alignment plane based on the foot rollparameter; specifying a new foot position for the foot model based onthe foot roll parameter; and realigning the foot model with thealignment plane.
 2. The method of claim 1, wherein changing the relativeangle between at least a portion of the foot model and the alignmentplane includes applying a transformation to the alignment plane, therebyrotating the alignment plane to a second orientation, wherein thetransformation includes a rotation proportional to the foot rollparameter; and wherein specifying a new foot position includes applyingthe transformation to the foot position.
 3. The method of claim 2,wherein realigning the foot model with the alignment plane includesrotating the foot model such that the reference frame associated withthe foot model is aligned with the second orientation of the alignmentplane.
 4. The method of claim 3, wherein the foot roll parameterincludes a heel roll parameter.
 5. The method of claim 3, wherein thefoot roll parameter includes a toe roll parameter.
 6. The method ofclaim 1, wherein changing the relative angle between at least a portionof the foot model and the alignment plane includes applying atransformation to the reference frame associated with the foot model,thereby rotating the reference frame associated with the foot modelaround a first joint, wherein the transformation includes a rotationproportional to the foot roll parameter; and wherein specifying a newfoot position includes applying an inverse of the transformation to thefoot position.
 7. The method of claim 6, wherein changing the relativeangle between at least a portion of the foot model and the alignmentplane includes applying a transformation to a predetermined portion ofthe foot model, thereby rotating the predetermined portion of the footmodel around the first joint.
 8. The method of claim 6, whereinrealigning the foot model with the alignment plane includes rotating thefoot model such that the reference frame associated with the foot modelis aligned with the first orientation of the alignment plane.
 9. Themethod of claim 8, wherein the foot roll parameter includes a ball rollparameter.
 10. The method of claim 1, wherein receiving the firstorientation of the alignment plane includes receiving a default planeorientation from an animation software application.
 11. The method ofclaim 1, wherein receiving the first orientation of the alignment planeincludes receiving an animation variable value specified by user. 12.The method of claim 1, wherein receiving the foot roll parameter of thealignment plane includes receiving an animation variable value specifiedby user.
 13. The method of claim 1, wherein the foot position defines atleast one contact point on the foot model with the alignment plane inthe first orientation; and wherein the new foot position is defined tomaintain the contact point on the foot model with the alignment plane inthe first orientation when the foot model is realigned with thealignment plane.
 14. An information storage medium including a set ofinstructions adapted to direct an information processing device toperform an operation comprising: receiving a first orientation of analignment plane; receiving a foot position specifying the position of afoot model; receiving a foot roll parameter for the foot model, the footroll parameter specifying an angle between an alignment plane and areference frame associated with the foot model; changing the relativeangle between at least a portion of the foot model and the alignmentplane based on the foot roll parameter; specifying a new foot positionfor the foot model based on the foot roll parameter; and realigning thefoot model with the alignment plane.
 15. The information storage mediumof claim 14, wherein changing the relative angle between at least aportion of the foot model and the alignment plane includes applying atransformation to the alignment plane, thereby rotating the alignmentplane to a second orientation, wherein the transformation includes arotation proportional to the foot roll parameter; and wherein specifyinga new foot position includes applying the transformation to the footposition.
 16. The information storage medium of claim 15, whereinrealigning the foot model with the alignment plane includes rotating thefoot model such that the reference frame associated with the foot modelis aligned with the second orientation of the alignment plane.
 17. Theinformation storage medium of claim 16, wherein the foot roll parameterincludes a heel roll parameter.
 18. The information storage medium ofclaim 16, wherein the foot roll parameter includes a toe roll parameter.19. The information storage medium of claim 14, wherein changing therelative angle between at least a portion of the foot model and thealignment plane includes applying a transformation to the referenceframe associated with the foot model, thereby rotating the referenceframe associated with the foot model around a first joint, wherein thetransformation includes a rotation proportional to the foot rollparameter; and wherein specifying a new foot position includes applyingan inverse of the transformation to the foot position.
 20. Theinformation storage medium of claim 19, wherein changing the relativeangle between at least a portion of the foot model and the alignmentplane includes applying a transformation to a predetermined portion ofthe foot model, thereby rotating the predetermined portion of the footmodel around the first joint.
 21. The information storage medium ofclaim 19, wherein realigning the foot model with the alignment planeincludes rotating the foot model such that the reference frameassociated with the foot model is aligned with the first orientation ofthe alignment plane.
 22. The information storage medium of claim 21,wherein the foot roll parameter includes a ball roll parameter.
 23. Theinformation storage medium of claim 14, wherein receiving the firstorientation of the alignment plane includes receiving a default planeorientation from an animation software application.
 24. The informationstorage medium of claim 14, wherein receiving the first orientation ofthe alignment plane includes receiving an animation variable valuespecified by user.
 25. The information storage medium of claim 14,wherein receiving the foot roll parameter of the alignment planeincludes receiving an animation variable value specified by user. 26.The information storage medium of claim 14, wherein the foot positiondefines at least one contact point on the foot model with the alignmentplane in the first orientation; and wherein the new foot position isdefined to maintain the contact point on the foot model with thealignment plane in the first orientation when the foot model isrealigned with the alignment plane.
 27. A tangible media including afirst image having an object in a first pose, wherein the object isposed according to the method of claim 1.